package com.wei.czz.framework.admin.service;

import com.wei.czz.common.dto.admin.UserMessageDto;
import com.wei.czz.common.tool.PageDto;
import com.wei.czz.common.vo.admin.userMessage.UserMessageFormVo;
import com.wei.czz.framework.admin.entity.UserMessageEntity;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2022-03-10 23:00:19
 * className: UserMessageService 用户消息操作请求服务接口
 * version: 1.0
 * description:
 */
public interface UserMessageService {

    /**
     * 保存用户消息操作
     * @param getUserId  接收用户主键
     * @param sendUserId 发送用户主键
     * @param sort       排序等级
     * @param title      标题
     * @param message    消息内容
     */
    void saveUserMessage(Long getUserId, Long sendUserId, Integer sort, String title, String message);

    /**
     * 批量保存用户消息操作
     * @param userMessageList 用户消息列表
     */
    boolean batchSaveUserMessage(List<UserMessageEntity> userMessageList);

    /**
     * 获取用户未查看消息个数操作
     * @return 用户未查看消息个数
     */
    Long getUnreadUserMessageCount();

    /**
     * 分页查询用户消息列表操作
     * @param userMessageFormVo 用户消息请求参数表单对象
     * @return 用户消息列表
     */
    PageDto<UserMessageDto> getUserMessageList(UserMessageFormVo userMessageFormVo);

    /**
     * 用户消息被阅读操作
     * @param messageId 消息主键值
     */
    void userMessageRead(String messageId);

    /**
     * 删除用户消息操作
     * @param messageId 消息主键值
     */
    void userMessageDelete(String messageId);



}

